home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-10-16 | 1.4 KB | 42 lines | [TEXT/GEOL] |
- Item 2174053 16-Oct-89 11:47
-
- From: MID France, M.I.D.
-
- To: D2652 Strategic Planning Sys, D Bell,PRT
- MACAPP.TECH$ MACAPP Tech
-
- Sub: Mac Plus specific bug
-
- Hi DannyC and other MacAppers,
-
- I have fixed a MacPlus specific bug (not really a MacApp Bug but in fact a ROM
- bug):
-
- My application was OK on a Color QuickDraw machine but crashed about a few
- minutes on Mac Plus or Mac SE. The problem was in the TrackCursor mechanism of
- MacApp.
-
- The TApplication.TrackCursor method uses DiffRgn trap with an initial parameter
- set to an "infinite" region:
- SetRectRgn(gCursorRgn, - maxint, - maxint, maxint, maxint);
-
- Under MacsBug, if the parameters region are:
- rgnA: 000A 8001 8001 7FFF 7FFF 8000 0078 0000
- rgnB: 000A 0032 0014 00F2 0087 8000 0012 0000
- dstRgn: 000A 8001 8001 7FFF 7FFF 8000 0078 0000
- with the old QuickDraw (Mac Plus or SE and perhaps Portable...) the result for
- dstRgn is:
- 0548 8001 8001 00F2 7FFF 8001 8001 7FFF
- (^ Ooops !!! this is a very big size for a region !!!)
- and the next use of this region will crash.
-
- My fix is to use a "semi-infinite" value for initial region:
- SetRectRgn(gCursorRgn, - maxint DIV 2, - maxint DIV 2 , maxint DIV 2 , maxint
- DIV 2 );
-
- I have already reported this bug many months ago, but I have no echo. So, it
- seems that I am the unique victim of this old ROM bug.
-
- Etienne Vautherin
-
-